From: Evan Welsh Date: Mon, 10 Jul 2023 06:21:23 +0000 (-0700) Subject: environment: Split dependencies loading into a new file X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~337^2~1^2~144 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e2e3694cbd5fbdef728c3a65f8ecfea7237f406e;p=gnome-shell.git environment: Split dependencies loading into a new file Once environment.js is an ES module we need to ensure we can dynamically specify the version for required GI dependencies such as Clutter. Moving dependency version setup to dependencies.js ensures gi.require calls are done before environment.js imports any utilities. Part-of: --- diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml index 6aa88ce21..476671ce0 100644 --- a/js/js-resources.gresource.xml +++ b/js/js-resources.gresource.xml @@ -17,6 +17,7 @@ misc/fileUtils.js misc/dateUtils.js misc/dbusUtils.js + misc/dependencies.js misc/gnomeSession.js misc/history.js misc/ibusManager.js diff --git a/js/misc/dependencies.js b/js/misc/dependencies.js new file mode 100644 index 000000000..92f893d60 --- /dev/null +++ b/js/misc/dependencies.js @@ -0,0 +1,33 @@ +imports.gi.versions.AccountsService = '1.0'; +imports.gi.versions.Atk = '1.0'; +imports.gi.versions.Atspi = '2.0'; +imports.gi.versions.Gcr = '4'; +imports.gi.versions.Gdk = '4.0'; +imports.gi.versions.Gdm = '1.0'; +imports.gi.versions.Geoclue = '2.0'; +imports.gi.versions.Gio = '2.0'; +imports.gi.versions.GDesktopEnums = '3.0'; +imports.gi.versions.GdkPixbuf = '2.0'; +imports.gi.versions.GnomeBluetooth = '3.0'; +imports.gi.versions.GnomeBG = '4.0'; +imports.gi.versions.GnomeDesktop = '4.0'; +imports.gi.versions.Graphene = '1.0'; +imports.gi.versions.GWeather = '4.0'; +imports.gi.versions.IBus = '1.0'; +imports.gi.versions.Malcontent = '0'; +imports.gi.versions.NM = '1.0'; +imports.gi.versions.NMA4 = '1.0'; +imports.gi.versions.Pango = '1.0'; +imports.gi.versions.Polkit = '1.0'; +imports.gi.versions.PolkitAgent = '1.0'; +imports.gi.versions.Rsvg = '2.0'; +imports.gi.versions.Soup = '3.0'; +imports.gi.versions.TelepathyGLib = '0.12'; +imports.gi.versions.TelepathyLogger = '0.2'; +imports.gi.versions.UPowerGlib = '1.0'; + +const Config = imports.misc.config; + +imports.gi.versions.Meta = Config.LIBMUTTER_API_VERSION; +imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION; +imports.gi.versions.Cogl = Config.LIBMUTTER_API_VERSION; diff --git a/js/ui/environment.js b/js/ui/environment.js index aee0f8ae5..7e873495e 100644 --- a/js/ui/environment.js +++ b/js/ui/environment.js @@ -1,37 +1,8 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- /* exported init */ -const Config = imports.misc.config; - -imports.gi.versions.AccountsService = '1.0'; -imports.gi.versions.Atk = '1.0'; -imports.gi.versions.Atspi = '2.0'; -imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION; -imports.gi.versions.Cogl = Config.LIBMUTTER_API_VERSION; -imports.gi.versions.Gcr = '4'; -imports.gi.versions.Gdk = '4.0'; -imports.gi.versions.Gdm = '1.0'; -imports.gi.versions.Geoclue = '2.0'; -imports.gi.versions.Gio = '2.0'; -imports.gi.versions.GDesktopEnums = '3.0'; -imports.gi.versions.GdkPixbuf = '2.0'; -imports.gi.versions.GnomeBluetooth = '3.0'; -imports.gi.versions.GnomeBG = '4.0'; -imports.gi.versions.GnomeDesktop = '4.0'; -imports.gi.versions.Graphene = '1.0'; -imports.gi.versions.GWeather = '4.0'; -imports.gi.versions.IBus = '1.0'; -imports.gi.versions.Malcontent = '0'; -imports.gi.versions.NM = '1.0'; -imports.gi.versions.NMA4 = '1.0'; -imports.gi.versions.Pango = '1.0'; -imports.gi.versions.Polkit = '1.0'; -imports.gi.versions.PolkitAgent = '1.0'; -imports.gi.versions.Rsvg = '2.0'; -imports.gi.versions.Soup = '3.0'; -imports.gi.versions.TelepathyGLib = '0.12'; -imports.gi.versions.TelepathyLogger = '0.2'; -imports.gi.versions.UPowerGlib = '1.0'; +// Load all required dependencies with the correct versions +imports.misc.dependencies; // eslint-disable-line no-unused-expressions + const Clutter = imports.gi.Clutter; const Gdk = imports.gi.Gdk;